查看原文
其他

VBA批量修改EXCEL底稿页宽后打印

思源审计 思源审计
2024-08-27

上文中,思源君讲到了利用VBA批量打印Excel审计底稿的所有SHEET,在打印之前需要提前设置好每个Sheet的打印格式。实务中,我们最经常碰到的格式问题是底稿打印页宽超过一页,比如往来明细表因为插入某几列,导致打印页宽由1页变为2页,如果行数很多,有N页高的话,则会多浪费N张纸,而且打印出的2N页底稿都是不完整的,着实可惜,因此有必要在批量打印前把所有底稿统一设置为1页宽,而这同样可以通过VBA代码来实现(具体利用EXCEL设置使用VBA代码过程可参加上一篇文章截图教程),思源君在上一篇文章的代码上进行了修改,以实现批量修改EXCEL底稿页宽为1页,页高为自动调整后再进行批量打印的功能,代码如下:

Sub 调整页宽后批量打印() Dim iPath$, iName$, Wb As Workbook Dim i iPath = ThisWorkbook.Path & "\" iName = Dir(iPath & "*.xls*") On Error Resume Next Do While iName <> "" If iName <> ThisWorkbook.Name Then Set Wb = Workbooks.Open(iPath & iName) Dim oWK As Worksheet For Each oWK In Wb.Worksheets With oWK.PageSetup '缩放要调整为False,FitToPagesWide和FitToPagesTall才会生效 .Zoom = False '调整为1页宽 .FitToPagesWide = 1 '设置为False,将自动调整为N页高 .FitToPagesTall = False End With Next Excel.Application.ScreenUpdating = True Excel.Application.Calculation = xlCalculationAutomatic Wb.Save '批量打印 For i = 1 To Wb.Worksheets.Count Wb.Worksheets(i).PrintOut Next Wb.Close False End If iName = Dir LoopEnd Sub



延伸阅读:


VBA批量打印Excel审计底稿的所有Sheet


Python批量打印文件


End
「思源审计」专属学习群已正式成立,扫描下方二维码添加思源君的个人微信,拉您入群交流学习。

感谢您阅读“思源审计”,如有点滴收获,请点击下方链接关注

继续滑动看下一个
思源审计
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存